home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-07-23 | 22.5 KB | 438 lines | [04] ASCII Text (0x0000) |
- Apple II
- File Type Notes
- _____________________________________________________________________________
- Developer Technical Support
-
- File Type: $19 (25)
- Auxiliary Type: All
-
- Full Name: AppleWorks Data Base File
- Short Name: AppleWorks DB File
-
- Revised by: Matt Deatherage & John Kinder, Claris Corporation July 1990
- Written by: Bob Lissner February 1984
-
- Files of this type and auxiliary type contain an AppleWorks(R) Data Base file.
- Changes since September 1989: Corrected the description of offset +337 in the
- header.
- _____________________________________________________________________________
-
- Files of type $19 and any auxiliary type contain an AppleWorks Data Base file.
- AppleWorks is published by Claris. Claris also has additional information on
- AppleWorks files SEG.PR and SEG.ER. For information on AppleWorks, contact
- Claris at:
-
- Claris Corporation
- 5201 Patrick Henry Drive
- P.O. Box 58168
- Santa Clara, CA 95052-8168
-
- Technical Support
- Telephone: (408) 727-9054
- AppleLink: Claris.Tech
-
- Customer Relations
- Telephone: (408) 727-8227
- AppleLink: Claris.CR
-
- AppleWorks was created by Bob Lissner. AppleWorks 2.1 was done by Bob Lissner
- and John Kinder of Claris. AppleWorks 3.0 was done by Randy Brandt, Alan Bird
- and Rob Renstrom of Beagle Bros Software with John Kinder of Claris.
-
-
- Definitions
-
- The following definitions apply to AppleWorks files in addition to those
- defined for all Apple II file types:
-
- MRL Data base multiple record layout
- SRL Data base single record layout
- RAC Review/Add/Change screen
- DB AppleWorks or /// E-Z Pieces Data Base
- SS AppleWorks or /// E-Z Pieces Spreadsheet
- WP AppleWorks or /// E-Z Pieces Word Processor
- AW AppleWorks or /// E-Z Pieces
-
-
- Auxiliary Type Definitions
-
- The volume or subdirectory auxiliary type word for this file type is defined
- to control uppercase and lowercase display of filenames. The highest bit of
- the least significant byte corresponds to the first character of the filename,
- the next highest bit of the least significant byte corresponds to the second
- character, etc., through the second bit of the most significant byte, which
- corresponds to the fifteenth character of the filename.
-
- AppleWorks performs the following steps when it saves a file to disk:
-
- 1. Zeros all 16 bits of the auxiliary type word.
- 2. Examines the filename for lowercase letters. If one is found, it
- changes the corresponding bit in the auxiliary type word to 1 and
- changes the letter to uppercase.
- 3. Examines the filename for spaces. If one is found, it changes the
- corresponding bit in the auxiliary type word to 1 and changes the
- space to a period.
-
- When files are read from disk, the filename and auxiliary type information
- from the directory file entry are used to determine which characters should be
- lowercase and which periods should be displayed as spaces. If you use the
- auxiliary type bytes for a different purpose, AppleWorks will still display
- the filenames, but the wrong letters are likely lowercase.
-
-
- File Version Changes
-
- Certain features present in AppleWorks 3.0 files are not backward-compatible
- to 2.1 and earlier versions. Such features are noted in the text. AppleWorks
- Data Base files which may not be loaded by versions prior to 3.0 are
- identified by a non-zero byte at location +218, referred to as location
- DBMinVers.
-
- Those features added for AppleWorks 2.0, 2.1 and 3.0 not previously documented
- are indicated with that version number in the margin.
-
-
- Data Base Files
-
- Data base files start with a variable length header, followed by 600 bytes for
- each report format (if any), the standard values record, then variable length
- information for each record.
-
- Header Record
-
- The header contains category names, record selection rules, counts, screen
- positioning information, and all other non-record specific information.
-
- +000 to +001 Word The number of bytes in the remainder
- of the header record. Use this
- count for your next ProDOS read from
- the disk.
- +002 to +029 Ignore these bytes.
- +030 Byte Cursor direction when the Return key
- is pressed in SRL. $01: Order in
- which you defined categories or $02:
- Left to right, top to bottom.
- +031 Byte What direction should the cursor go
- when you press the Return key in the
- MRL? D)own or R)ight.
- +032 to +033 Ignore these bytes.
- +034 Byte Style of display that
- Review/Add/Change was using when the
- file was saved: R: SRL. Slash (/): MRL.
- +035 Byte Number of categories per record.
- Values from $01 to $1E.
- 3.0 +036 to +037 Word Number of records in file.
- If DBMinVers is non-zero, the high
- bit of this word may be set. If it
- is, there are more than eight
- reports and the remaining 15 bits
- contain the true number of records
- defined.
- 3.0 +038 Byte Number of reports in a file, maximum
- of 8 (20 for 3.0).
- +039 to +041 Ignore these bytes.
- +042 to +071 Bytes For each of up to 30 columns,
- showing the number of spaces used
- for this column on the MRL. Be sure
- you understand that categories may
- have been rearranged on the MRL.
- Byte +042 refers to the leftmost
- column on the MRL.
- +072 to +077 Ignore six bytes.
- +078 to +107 Bytes For up to 30 categories on the MRL,
- the defined category that appears in
- each position. Byte +078 is the
- leftmost column of the MRL and has a
- value from $01 to $1E that defines
- which of the category names appears
- in this position. These numbers
- change as a result of changing the
- layout of the MRL.
- +108 to +113 Ignore six bytes.
- +114 to +143 Bytes For up to 30 categories on the SRL,
- the horizontal screen position.
- These are changed as a result of
- changing the layout of the SRL.
- AppleWorks makes sure that these
- entries, and the vertical screen
- positions, are kept in order from
- left to right within top to bottom.
- +144 to +149 Ignore these six bytes.
- +150 to +179 Bytes For up to 30 categories on the SRL,
- the vertical screen position.
- +180 to +185 Ignore six bytes.
- +186 to +215 Bytes For up to 30 categories on the SRL,
- which of the category names appears
- in this position. These change as a
- result of changing the SRL. This
- number refers to the category names
- listed below.
- +216 to +217 Ignore two bytes.
- 3.0 +218 Byte DBMinVers. The minimum version of
- AppleWorks needed to read this file.
- This will be $00 unless there are
- more than 8 report formats; it will
- then contain the version number 30
- ($1E) or greater.
- 3.0 +219 Byte The first frozen column in the titles.
- 3.0 +220 Byte If this is zero, no titles are
- present. If non-zero, this is the
- last frozen column.
- 3.0 +221 Byte Leftmost active column. This is
- zero-based; if this value is zero,
- it means column one, etc.
- +222 Byte Number of categories on MRL. Will
- be less than or equal to the number
- of categories in the file. SRL
- displays all categories, so there is
- no equivalent number for SRL.
- +223 to +224 Word For the first line of RAC selection
- rules. Zero means no selection
- rules, while any other value refers
- to the category name that is tested.
- The high byte will always be zero.
- +225 to +226 Word Category name for the second line of
- RAC selection rules. Zero means
- that there is only one line.
- +227 to +228 Word Category name for the third line of
- RAC selection rules. Zero means
- that there is no third line.
- +229 to +230 Word For the first line of RAC rules,
- which of the tests is to be applied.
- 1 means equals, 2 means greater than
- and so on.
- +231 to +232 Word Test for the second line of rules,
- if any.
- +233 to +234 Word Test for the third line, if any.
- +235 to +236 Word Continuation code for the first
- line: 1: And, 2: Or, 3: Through.
- +237 to +238 Word Continuation code for the second line.
- +239 to +240 Word Continuation code for the third line.
- Not possible, so it is always zero.
- +241 to +272 String Maximum length of 30 bytes.
- Comparison information for the first
- line RAC selection rules.
- +273 to +304 String Comparison for the second line.
- +305 to +336 String Comparison for the third line.
- +337 to +356 Ignore these twenty bytes.
- +357 to +378 String Name of the first category. Maximum
- length of 20 bytes. If the file has
- only one category, the header record
- will end here.
- +379 to +400 String Name of the second category, if any.
- This area will not be on the header
- record if there is only one category.
- +401 22 Bytes Additional 22 byte entries for all
- remaining categories. The size of
- the header record depends on the
- number of categories. Space is not
- maintained past the last category.
-
- Report Records
-
- Report records follow the header record. One of the header record categories
- tells you how many report records to expect. The number will be from zero to
- eight. Each report record is 600 bytes, and contains:
-
- +000 to +019 String Report name. Maximum length of 19 characters.
- +020 to +052 Bytes Column width for up to 33 columns in
- a tables-style report format. Byte
- +020 is for the leftmost column on a
- tables-style report. There can be
- up to 30 categories from the file,
- plus 3 more calculated columns.
- For labels-style report formats, the
- value is a byte that has the
- horizontal position of this
- category, relative to the left
- margin.
- +053 to +055 Skip 3 bytes.
- +056 to +088 Bytes For tables-style: Number of spaces
- to be printed at the right of
- justified columns.
- For labels-style: Vertical position
- on the report for each of up to 30
- categories. A value of 1 means that
- category is on the first line of
- labels-style report.
- +089 to +091 Skip 3 bytes.
- +092 to +124 Bytes For up to 33 columns of tables-
- style: Values from 1 to 30 refer to
- which category name appears in this
- column on the report. Values of
- $80, $81 and $82 are the three
- calculated categories, from left to
- right.
- For labels-style: Same as tables-
- style, minus the calculated categories.
- +125 to +127 Skip these three bytes.
- +128 to +160 Bytes For up to 33 columns of tables-
- style: $99 means no foot totals, 0
- through 4 means the number of
- decimal places for a foot total.
- For labels-style: For up to 30
- categories on report, Boolean bytes
- whether or not category names are to
- be printed.
- +161 to +163 Skip these three bytes.
- +164 to +196 Bytes For up to 33 columns of tables-
- style: $99 means left justified, 0
- through 4 means right justified with
- 0 to 4 decimal places.
- For up to 30 categories of labels-
- style: Boolean bytes whether or not
- to float (OA-J) this category up
- against the category to its left.
- +197 to +199 Skip three bytes.
- +200 Byte Number of categories on report.
- Includes calculated categories, if any.
- +201 Byte Tables-style. If there is at least
- one calculated category, this
- contains values from 1 to 33: which
- column of the report.
- Labels-style: Values from 3 to 21.
- Position of the line on the screen
- that says "Each record will print nn lines."
- +202 Byte Tables-style: Same as +201, but for
- the second calculated category, if any.
- Labels-style: Unused.
- +203 Byte Tables-style: Same as +201, but for
- the third calculated category, if any.
- Labels-style: Unused
- +204 Byte Tables-style only: If there is a
- group total column, this byte states
- which of the category names is used
- as a basis. Values from 1 to 30.
- +205 Byte Platen width value, in 10ths of an
- inch. For example, a value of 8.0
- inches entered by the user will show
- as 80 or $50.
- +206 Byte Left margin value. All inches
- values are in 10ths.
- +207 Byte Right margin value.
- +208 Byte Characters per inch.
- +209 Byte Paper length value, in 10ths of an inch.
- +210 Byte Top margin value.
- +211 Byte Bottom margin value.
- +212 Byte Lines per inch. 6 or 8.
- +213 Byte Not relevant. Probably always a "C."
- +214 Byte Type of report format.
- H: tables-style, V: labels-style.
- +215 Byte Spacing: S(ingle, D(ouble, or
- T(riple. Expect these three
- letters, even in European versions.
- +216 Byte Print report header. Boolean.
- +217 Byte Tables-style: If user has specified
- group totals, Boolean, just print
- the group totals.
- +218 Byte Labels-style: Boolean, omit the
- line when all entries on the line
- are blank.
- +219 Byte Labels-style: Boolean, keep the
- number of lines the same within each record.
- +220 to +301 String 80-byte string. Title line, if any.
- +302 to +323 String Tables-style. 20-byte string. Name
- of the first calculated category, if any.
- +324 to +355 String Tables-style. 30-byte string.
- Calculation rules for first
- calculated category, if any.
- +356 to +409 String Tables-style. Name and rules for
- second calculated category, if any.
- +410 to +463 String Tables-style. Name and rules for
- third calculated category, if any.
- +464 to +477 String If user has specified "Send special
- codes to printer," this is a 13 byte
- string containing those codes.
- +478 Byte Boolean: Print a dash when an entry
- is blank.
- +479 to +592 Words & Strings
- Record selection rules. Exact same
- format as described in the header record.
- +593 to +599 Unused
-
- Data Records
-
- Data records follow the report records. The first data record contains the
- standard values. Each following data record corresponds to one data base
- record.
-
- These records contain all of the categories within one stream of data. The
- category entries are in the same order that the category names appear in the
- header record.
-
- Bytes +0 and +1 are a word that contains a count of the number of bytes in the
- remainder of the record.
-
- Byte +2 of each record will always be a control byte. Other control bytes
- within each record define the contents of the record. Control bytes may be:
-
- $01-$7F This is a count of the number of following bytes
- that are the contents of a category.
- $81-$9E This (minus $80) is a count of the number of
- categories to be skipped. For example, $82
- means skip two categories.
- $FF This indicates the end of the record.
-
- The information in individual categories may have some special coding so that
- date and time entries can be arranged (sorted).
-
- Date entries have the following format:
-
- +000 Byte $C0 (192). Identifies a date entry.
- +001 to 002 Two bytes
- ASCII year code, like "84" ($38 $34).
- +003 Byte ASCII month code. A means January,
- L means December.
- +004 to +005 Two bytes
- ASCII day of the month, like "31" ($33 $31).
-
- Time entries have the following format:
-
- +000 Byte $D4 (212). Identifies a time entry.
- +001 Byte ASCII hour code. A means 00 (the
- hour after midnight). X means 23,
- the hour before midnight.
- +002 to +003 Two bytes
- ASCII minute code. Values from 00 to 59.
-
-
- File Tags
-
- All AppleWorks files normally end with two bytes of $FF; tags are
- anything after that. Although File Tags were primarily designed by
- Beagle Bros, they can be used by any application that needs to create or
- modify an AppleWorks 3.0 file.
-
- Because versions of AppleWorks before 3.0 stop at the double $FF, they
- simply ignore tags.
-
- The File Tag structure is as follows:
-
- +000 Byte Tag ID. Should be $FF.
- +001 Byte 2nd ID byte. These values will be
- defined and arbitrated by Beagle
- Bros Software. Beagle may be
- reached at:
-
- Beagle Bros Inc
- 6215 Ferris Square, #100
- San Diego, CA 92121
-
- +002 to +003 Word Data length. If this is the last
- tag on the file, the low byte (+002)
- will be a count of the tags in this
- file, and the high byte (+003) will
- be $FF.
- +004 to nnn Bytes Actual tag data, immediately
- followed by the next four-byte tag
- ID. These bytes do not exist for
- the last tag.
-
- There is a maximum of 64 tags per file. Each tag may be no larger than
- 2K.
-
- _____________________________________________________________________________
- AppleWorks is a registered trademark of Apple Computer, Inc. licensed to
- Claris Corporation.
-
-